Data Sharing Conscious Scheduling for Multi-threaded Applications on SMP Machines
نویسندگان
چکیده
Extensive use of multi-threaded applications that run on SMP machines, justifies modifications in thread scheduling algorithms to consider threads’ characteristics in order to improve performance. Current schedulers (e.g. in Linux, AIX) avoid migrating tasks between CPUs unless absolutely necessary. Unwarranted data cache misses occur when tasks that share data run on different CPUs, or are far apart time-wise on the same CPU. This work presents an extension to the Linux scheduler that exploits inter-task data relations to reduce data cache misses in multi-threaded applications running on SMP platforms, thus improving runtime, memory throughput, and energy consumption. Our approach schedules the tasks to the CPU that holds the relevant data rather than to the one with highest affinity. We observed improvements in CPU time and throughput on several benchmarks. For the Chat benchmark, the improvement in CPU time and cache misses is over 30% on average.
منابع مشابه
Impact of Data Sharing on CMP design: A study based on Analytical Modeling
In this work we study the effect data and instruction sharing on cache miss rates. We then extend an analytical system-level throughput model to take multi-threaded data and instruction sharing into account. We use the model to provide insights into the interaction of thread count, cache size, off-chip bandwidth, and, sharing, on system throughput. Using specific examples we teach how the model...
متن کاملComparing Gang Scheduling with Dynamic Space Sharing on Symmetric Multiprocessors Using Automatic Self-Allocating Threads (ASAT)
This work considers the best way to handle a diverse mix of multi-threaded and single-threaded jobs running on a single Symmetric Parallel Processing system. The traditional approaches to this problem are free scheduling, gang scheduling, or space sharing. This paper examines a less common technique called dynamic space sharing. One approach to dynamic space sharing, Automatic Self Allocating T...
متن کاملSMP Virtualization Performance Evaluation
Multiprocessor virtual machines (VMs) allow guest operating systems to use symmetric multiprocessing (SMP) in a VM. However, the use of SMP in a VM complicates CPU scheduling by the virtual machine monitor and can significantly increase the performance overhead of virtualization. This paper analyzes the performance of SMP virtualization used in two leading virtualization systems: VMware ESX 3.5...
متن کاملPareto-based Multi-criteria Evolutionary Algorithm for Parallel Machines Scheduling Problem with Sequence-dependent Setup Times
This paper addresses an unrelated multi-machine scheduling problem with sequence-dependent setup time, release date and processing set restriction to minimize the sum of weighted earliness/tardiness penalties and the sum of completion times, which is known to be NP-hard. A Mixed Integer Programming (MIP) model is proposed to formulate the considered multi-criteria problem. Also, to solve the mo...
متن کاملExecution Replay for Multiprocessor Virtual Machines
Execution replay of virtual machines is a technique which has many important applications, including debugging, fault-tolerance, and security. Execution replay for single processor virtual machines is well-understood, and available commercially. With the advancement of multi-core architectures, however, multiprocessor virtual machines are becoming more important. Our system, SMP-ReVirt, is the ...
متن کامل